import {preparationTask} from '@/api/defects/preparationTask.js'
import {CommonApi} from '@/api/equip/CommonApi.js'
import {Message, MessageBox} from 'element-ui';
import {getInfo} from "@/api/login";
import {listDept} from "@/api/system/dept";

export const GridEvent = {
  OptionData_taskTypeNo: [],
  OptionData_warehouseNo: [],
  OptionData_djhszt: [],
  OptionData_gldw: [],
  newForm() {  //打开新增页面窗口//
    formModel.title = '盘点任务编制';
    formModel.dialogVisible = true;
    formModel.width = '70%';
    formModel.componentId = 'TBizcEneryEquipForm';
    formModel.TBizcEneryEquipFormData.type = 'insert';
    formModel.top = '5px'
  },
  editForm(row) { 				//数据编辑//
    formModel.title = '编辑';
    formModel.dialogVisible = true;
    formModel.width = '70%';
    formModel.componentId = 'TBizcEneryEquipForm';
    formModel.TBizcEneryEquipFormData.type = 'update';
    formModel.TBizcEneryEquipFormData.data = row;
    formModel.top = '5px'
  },
  // exportData:{
  //   columnCodeList:[],
  //   columnNameList:[],
  //   columnWidthList:[]
  // },
  getExportInfo(xGrid) {

  },
  getOptionData_gldw: (xGrid) => {//获取单位：字典表
    getInfo().then(res => {
      let params = {
        deptId: res.user.dept.deptId,
        parentId: res.user.dept.parentId
      }
      listDept(params).then(res => {
        if (xGrid) {
          // 修改编辑框
          // const sexColumn = $grid.getColumnByField('sex')
          // sexColumn.editRender.options = sexList
          // 修改查询条件列表
          let optionList = [
            {label: '请选择', value: ''}
          ]
          res.data.forEach((item) => {
            // console.log(item,'item.,,,');
            optionList.push({label: item.deptName, value: item.deptId})
          })
          const item = xGrid.getFormItems(0)
          item.itemRender.options = optionList
          GridEvent.OptionData_gldw = optionList;
        }
      })
    })
  },
  getOptionData_sjly: (xGrid) => {//获取数据来源：字典表
    CommonApi.queryDictData('EN_DEFECTS_RESOUCE').then(res => {
      if (xGrid) {
        // 修改编辑框
        // const sexColumn = $grid.getColumnByField('sex')
        // sexColumn.editRender.options = sexList
        // 修改查询条件列表
        let optionList = [
          {label: '请选择', value: ''}
        ]
        res.data.forEach((item) => {
          // console.log(item,'item.,,,');
          optionList.push({label: item.value, value: item.code})
        })

        const item1 = xGrid.getFormItems(4)
        item1.itemRender.options = optionList
        GridEvent.OptionData_gldw = optionList;
      }
    }).catch(err => {
      console.log(err)
    })
  },
  getOptionData_clzt: (xGrid) => {//获取处理状态：字典表
    CommonApi.queryDictData('EN_DEFECTS_STATE').then(res => {
      if (xGrid) {
        // 修改编辑框
        // const sexColumn = $grid.getColumnByField('sex')
        // sexColumn.editRender.options = sexList
        // 修改查询条件列表
        let optionList = [
          {label: '请选择', value: ''}
        ]
        res.data.forEach((item) => {
          // console.log(item,'item.,,,');
          optionList.push({label: item.value, value: item.code})
        })

        const item1 = xGrid.getFormItems(7)
        item1.itemRender.options = optionList
      }
    }).catch(err => {
      console.log(err)
    })
  },
  getOptionData_wtfl: (xGrid) => {//获取问题分类：字典表
    CommonApi.queryDictData('EN_DEFECTS_TYPE').then(res => {
      if (xGrid) {
        // 修改编辑框
        // const sexColumn = $grid.getColumnByField('sex')
        // sexColumn.editRender.options = sexList
        // 修改查询条件列表
        let optionList = [
          {label: '请选择', value: ''}
        ]
        res.data.forEach((item) => {
          // console.log(item,'item.,,,');
          optionList.push({label: item.value, value: item.code})
        })

        const item1 = xGrid.getFormItems(3)
        item1.itemRender.options = optionList
      }
    }).catch(err => {
      console.log(err)
    })
  },

  deleteEvent(rows, xGrid) {  	//数据删除//
    MessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
      confirmButtonText: '确定',
      cancelButtonText: '取消',
      type: 'warning'
    }).then(() => {
      let queryParams = []
      rows.forEach(item => {
        queryParams.push(item.id)
      })

      //删除数据后台如何处理，按照实际的�? 处理多行记录信息rows//
      preparationTask.deleteData(queryParams).then(res => {
        //删除成功后，会掉表格刷新//
        xGrid.commitProxy('query');
        Message({
          type: 'success',
          message: '删除成功!'
        });
      }).catch(err => {
        console.error(err)
      })
    }).catch(() => {
      Message({
        type: 'info',
        message: '已取消删!'
      });
    });
  },
  initFormData(formData) { 		//查询框数据初始化//
    // console.log(formData,'99999',GridEvent.OptionData_yxzt);
    // formData.yxzt = GridEvent.OptionData_yxzt
  },
  queryData(page, formData) {  //查询表格数据//
    const queryParams = Object.assign({}, formData)
    const pageParams = {
      pageSize: page.pageSize,
      pageNo: page.currentPage,
      entity: {
        unitNo: queryParams.unitNo,
        defectName: queryParams.defectName,
        equipName: queryParams.equipName,
        equipDefectType: queryParams.equipDefectType,
        taskSourceNo: queryParams.taskSourceNo,
        creatTime: queryParams.creatTime,
        creatTime_to: queryParams.creatTime_to,
        defectStatusCode: queryParams.defectStatusCode

      },
      paramsMap: {},
      column: '',
      order: ''
    };
    return preparationTask.getdata(pageParams)
  },

}
export const formModel = {
  title: '',            //窗口标题//
  dialogVisible: false, //是否弹出显示//
  width: '70%',          //窗口宽度//
  fullscreen: false,    //是否全屏//
  closeOnClickModal: false, //是否可以通过点击 modal 关闭 Dialog//
  top: '5vh',			 //顶部位置//
  componentId: 'TBizcEneryEquipForm',  //默认显示组件//

  TBizcEneryEquipFormData: {
    type: '',
    data: {
      sbbm: '',        //设备编码//
      sbmc: '',        //设备名称//
      yxzt: '',        //运行状态  10-未投运
// 20-在运
// 30-退役
// 40-报废//
      jlfs: '',        //计量方式//
      sfsc: '',        //是否删除  0否1是//
      cap: '',        //容量//
      sblx: '',        //设备类型编码  //
      sblxmc: '',        //设备类型名称//
      num: '',        //数量//
      standard: '',        //规格//
      xh: '',        //型号//
      cjmc: '',        //厂家名称//
      ccbm: '',        //出厂编码//
      ccTime: '',        //出场日期//
      sjdhTime: '',        //实际到货日期//
      cyDwmc: '',        //产业单位名称//
      xmlxr: '',        //项目联系人//
      xmmc: '',        //项目名称//
      xmbh: '',        //项目编号//
      zlqx: '',        //租赁期限//
      yjccTime: '',        //预计撤场时间//
      xmdz: '',        //项目地址//
      lxrPhone: '',        //联系人电话//
      lxTime: '',        //联络时间//
      djhszt: '',        //单据回收状态  0未回收 1 已回收//
      cyDwbm: '',        //产业单位编码//
    }
  },
  closeDialogEvent(reload, xGrid) {
    formModel.dialogVisible = false;
    if (reload) {
      xGrid.commitProxy('query');
    }
  }
}
